/*
 * <p>Copyright ®Alyce_WX版权所有。</p>
 * 类名:WorksDAO
 * 创建人:alyce_wx
 * 创建时间:2017-03-30
 */

package com.wx.demo.wcd.infrastructure.dao;

import java.util.Map;

import com.yjhl.framework.dao.DAO;
import com.wx.demo.wcd.domain.po.WorksPO;
import com.wx.demo.wcd.domain.pk.WorksPK;
import com.wx.demo.wcd.domain.qo.WorksQO;

/**
 * WorksDAO interface
 *
 * @author alyce_wx
 * @since 1.8
 * @version 1.0.0
 */

public interface WorksDao extends DAO<WorksPO, WorksQO, WorksPK> {
	
	/**
	 * 根据主键标识 worksId获取WorksPO对象。
	 *
	 * @param worksId Works的主键标识
	 * @return WorksPO对象， 如果没有查询到结果返回null
	 * @since 1.8
	 * @version 1.0.0
	 */
	public WorksPO getByPk(String worksId);
	
	/**
	 * 使用Map类型的参数根据主键标识worksId对表Works进行更新。 Map中的key必须是WorksPO的属性名称。
	 *
	 * @param entity 要进行更新的列。Map中的key必须是WorksPO的属性名称。
	 * @param worksId Works的主键标识.
	 * @return 更新记录的条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int updateMapByPk(Map<String, Object> entity, String worksId);
	
	/**
	 *  根据主键标识worksId删除数据。
	 *
	 * @param worksId Works的主键标识。
	 * @return 删除记录条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int deleteByPk(String worksId);
}
